﻿using md.imi.membrane.common.Messaging;

namespace md.imi.membrane.common.Interfaces
{
    /// <summary>
    ///     Message viewer is a  message handler provider interface. It is implemented 
    /// by the visual forms, with the capability to handle and display received messages.
    /// The interface is used to pass messages which occurs from different sources to 
    /// right target view.
    /// </summary>
    public interface IMessageViewer
    {
        /// <summary>
        ///     Add a mesage to the view, taking into account the cross 
        /// thread calling
        /// </summary>
        /// <param name="message"></param>
        void AddMessage(MessageData message);

        /// <summary>
        ///     Clear the view, by removin
        /// </summary>
        void ClearView();

        DestinationType GetDestinationType();
    }
}
